define(function(require){
	var $ = require("jquery");
	var justep = require("$UI/system/lib/justep");
	
	var Model = function(){
		this.callParent();
		this.group = null;
	};
	
	//小程序模板消息读取
	Model.prototype.refreshTemplateMsgData = function(event){
		var template = event.source;
		var append = event.options && event.options.append;
		var params = {
			"pageSize" : event.limit,
			"pageNum" : event.offset/event.limit + 1,
			"group":this.group,
		};
		var size = event.limit;
		$.ajax({
			type : "GET",
			url : require.toUrl("/wxapi/miniapp/templates"),
			dataType : "json",
			async : false,// 使用同步方式，目前data组件有同步依赖
			cache : false,
			data : params,
			success : function(data) {
				if(data.success){
					template.loadData(data.data);
					if(data.data.length<=size) {
						template.setTotal(data.data.lenght);
					}else {
						template.setTotal(25);
					}
					template.loadData(data.data, append);// 将返回的数据加载到data组件
					template.doRefreshAfter(true, event.options);
				}		
			},
			error : function() {
				justep.Util.hint("查询数据失败", {
					"type" : "danger"
				});
			}
		});
	};

	Model.prototype.deleteTemplate = function(event){
		var row = event.bindingContext.$object;
		var templateId = this.comp('templateMsg').getValue('templateId',row);
		var self = this;
		justep.Util.confirm("确认删除该模板消息吗？删除时将同步删除微信小程序管理后台的模板消息！！！",function(){
			$.ajax({
				type : "DELETE",
				url : require.toUrl("/weixinthrid/miniapp/template/"+templateId+"?group="+this.group),
				dataType : "json",
				async : false,// 使用同步方式，目前data组件有同步依赖
				cache : false,
				success : function(data) {
					if(data.success) {
						justep.Util.hint("删除成功！");
						self.comp('templateMsg').refreshData();
					}else {
						justep.Util.hint("删除失败！", {
							"type" : "danger"
						});
					}
				},
				error : function() {
					justep.Util.hint("查询数据失败", {
						"type" : "danger"
					});
				}
			});
		});
	};
	//参数接收
	Model.prototype.modelParamsReceive = function(event){
		this.group = this.getContext().getRequestParameter("groupName");
		this.comp('templateMsg').refreshData({"confirm":false});
	};
	
	return Model;
});